/* 
var box=3>2;
alert(box);	//true;

var box=3<2;	//关系运算符大多返回的是一个boolean值
alert(box);	//false;

var box='3'>22;	//如果只有一个数值字符串，那么会将他转化成数值，再比较
alert(box);	//false;

var box='3'>'22';	//如果两个都是数值字符串，那么会进行第一个字符串的比较 3>2
alert(box);	//true;

var box='3'>'42';	//如果两个都是数值字符串，那么会进行第一个字符串的比较 3>2
alert(box);	//false;

var box=2>{};		//和对象比较
alert(box);	//false;

var box=2>{				//和对象比较
	toString :function(){
		return 1;
	}
};	
alert(box);	//true;

var box='a'>'b';	//97>98  ascii表中对应的值
alert(box);	//false;

var box='a'>'B';	//97>66
alert(box);	//true;

var box=2==2;	
alert(box);	//true;

var box=2==3;	
alert(box);	//false;

var box=2!=3;	
alert(box);	//true;

var box=2!=2;	
alert(box);	//false;

var box=false == 0;	//布尔值会转化之后再比较   false转0  true转1
alert(box);	//true;

var box=true == 0;	//布尔值会转化之后再比较   false转0  true转1
alert(box);	//false;

var box=true == 1;	//布尔值会转化之后再比较   false转0  true转1
alert(box);	//true;

var box=null == undefined;	
alert(box);	//true;

var box=null == null;	
alert(box);	//true;

var box=undefined == undefined;	
alert(box);	//true;

var box=2 == NaN;	
alert(box);	//false;

var box=NaN == NaN;	
alert(box);	//false;

var box={} == {};	 //比较的是地址，每个新创建对象的
alert(box);	//false;

var age={}
var height=age;
var box=age == height;	
alert(box);	//true;		//引用地址一样所以值相同

var box=2 === 2;	
alert(box);	//true;

var box=2 === '2';	//恒等   要求值和类型都一样
alert(box);	//false;

var box=null ==0;	//null自动转换成0，但在比较运算上，null和undefined没有自动转换，所以null是不等于0的
alert(box);	//false;

var box=!!null ==0;	
alert(box);	//true;

var box='' ==0;	//字符串在比较的时候会自动转换
alert(box);	//true;

alert(!!null);//false
alert(!null);//true

var box=(5 > 4) && (3 > 2);//&&表示两边都必须是true  才返回true
alert(box);//true

var box={} && (3 > 2);//&&表示两边都必须是true  才返回true
alert(box);//true

var box={} && (3 > 2);//第一个操作数是对象，则返回第二个操作数
alert(box);//true

var box={} && 5;//第一个操作数是对象，则返回第二个操作数
alert(box);//5

var box=(5>3) && {};	//若第二个操作数是对象，则第一个操作数返回true，才返回第二个操作数，否则返回false
alert(box);//[object Object]

var box=(5<3) && {};	//若第二个操作数是对象，则第一个操作数返回true，才返回第二个操作数，否则返回false
alert(box);//false

var box=5 && {};	//5转成布尔值是true   所以返回第二个值
alert(box);//[object Object]

var box=0 && {};
alert(box);//0

var box=null && (6>3);
alert(box);//null

var box= (6>3) && null;	//有一个操作符是null   则返回null    跟null的位置无关
alert(box);//null

var box= (6>3) && undefined;	//有一个操作符是undefined  则返回undefined    跟undefined的位置无关
alert(box);//undefined

var box=  undefined  && true;	//有一个操作符是undefined  则返回undefined    跟undefined的位置无关
alert(box);//undefined

var box=3>4 && null; //如果第一个数是false，则不去运行第二个操作数了
alert(box);//false

var box =5>4 && age; //Uncaught ReferenceError: age is not defined
alert(box);//报错

var box =3>4 && age; //如果第一个数是false，则不去运行第二个操作数了
alert(box);//false

var box =3>4 || 5>3; //	||只要一边是true  那么返回true
alert(box);//true

var box ={} || 5>3; //	||第一个操作数是对象，则返回第一个操作数
alert(box);//[object Object]

var box =3>5|| 5; //	||第一个操作数的求值结果是false，则返回第二个操作数
alert(box);//5

var box ={
	toString :function(){
		return 1;
	}
}||{
	toString :function(){
		return 2;
	}
}; //	||两个操作数都是对象，则返回第一个操作数
alert(box);//1

var box =null||null; //
alert(box);//null

var box =null||undefined; //
alert(box);//undefined

var box =undefined||undefined; //
alert(box);//undefined

var box =undefined||null; //
alert(box);//null

var box =NaN||NaN; //
alert(box);//NaN

var age=4;
var box =height || age; //
alert(box);//报错demo.js:177 Uncaught ReferenceError: height is not defined

var age=4;
var height;
var box =height || age; //
alert(box);//4

var box =5>4; //
alert(box);//true

var box =!(5>4); //
alert(box);//false

var box =!!(5>4); //
alert(box);//true

var box =Boolean({}); //
alert(box);//true

var box =!!{}; //  !!{} 和Boolean({})是一样的结果
alert(box);//true

var box =!''; //  
alert(box);//true
*/
var box =!''; //  
alert(box);//true























